As the capability of computer monitors and other display devices to display graphics has improved, and as computer storage and processing capabilities have also improved, it has become possible to display highly complicated graphical features. Such display of complicated graphical features has become useful in a variety of contexts. For example, computer-aided design (CAD) software is often a primary tool that is used to engineer devices, systems and processes. Also, for example, complicated graphical features can be employed to display processes and systems during operation, in order to facilitate the monitoring and control of such processes and systems.
The data underlying the display of such complicated graphical features can be voluminous and complicated. The size and complexity of the data associated with displaying graphical features in part results from the level of detail of the displayed graphical items, particularly three-dimensional graphical items. Further, the complexity associated with displaying graphical features in part results from the fact that, commonly, multiple discrete graphical items that have highly different characteristics must be simultaneously accounted for and displayed. The complexity is additionally increased when graphical items have movement/animation characteristics.
Due to the size and complexity of data concerning graphical features, various schemes for storing, retrieving and otherwise handling the graphical data have been developed and implemented in computer systems/software. In some known systems, a given graphical item can be stored as an assemblage of multiple pieces of data that are linked to one another in the form of a data structure. By storing data in this manner, it is possible to assemble the data for multiple graphical items using shared portions of data. That is, it becomes possible for multiple graphical items to refer to the same building blocks.
By storing data in this referential manner, the amount of data that must be stored and otherwise handled when displaying complicated graphical features can be reduced. However, because the different portions of data typically are stored in many separate files, the size and complexity of the graphical data can still pose significant problems. In particular, because multiple graphical items may draw upon the same data files, new file maintenance problems arise that would not exist if all of the data for a given graphical item was stored in a single file.
For example, when multiple users utilize the same data files, one user may change the contents of the file in order to change the characteristics of certain graphical item(s) without considering the impact such changes may have upon other graphical item(s) that also depend upon those files. Also, when a user imports data files from an outside source, it is possible that certain of the data files may be inconsistent with existing data files. For example, an imported file may have the same name as an existing data file despite having different data such that importation of the file may introduce ambiguity into the graphical data (due to the storing of a second file with the same name) or overwrite and unintentionally modify the existing data.
Such referential schemes for storing graphical data are also problematic insofar as it can be difficult to isolate subsets of graphical data that pertain to particular graphical images from other graphical data that may be stored on a system. The graphical data pertaining to a particular graphical image may be scattered about a variety of memory locations, intermingled with data corresponding to other graphical images. Consequently, it can be an arduous task to identify all of the specific graphical data relating to a particular graphical image in order to transfer that relevant data to another location. Further, when all of the data corresponding to a particular graphical image is transferred, caution must be exercised to avoid failing to leave copies of those portions of the graphical data that are referenced by other graphical images than the particular graphical image of interest.
For these reasons, a need exists for an improved system and method for managing graphical data, particularly graphical data that is stored as an assembly of data portions in a set of interdependent files or other data elements. In particular, a need exists for an improved system and method for managing graphical data that facilitates the modification of portions of the data in a manner that reduces the likelihood that such modifications will produce unintended consequences or introduce inconsistencies into the graphical data. Further, a need exists for an improved system and method for managing graphical data that facilitates the identification and transfer of specific subsets of the graphical data that is of interest in relation to particular graphical items or images.